โค้ดดิ้งให้ปลอดภัยจาก hacker
💥การโจมตีแบบ Cross-Site Scripting ชื่อย่อ "XSS"
เป็นช่องโหว่ที่ปล่อยให้ผู้ไม่หวังดี
สามารถใส่ โค้ดJava Script หรือฉีด (inject) เข้ามาได้
จากนั้น JavaScript ก็จะทำงานหน้าเว็บของผู้ใช้งาน
ซึ่งเป็นอันตรายอย่างยิ่งยวด
.
ตัวอย่างในรูปที่โพสต์
โค้ด Java Script ของ hacker
่เป็นโค้ดโชว์กล่องข้อความ ไม่มีพิษสง ไม่อันตราย
ของจริงอาจเจอผู้ประสงค์ร้าย
สามารถดำเนินการ เช่น
- อาจโดนขโมย session id
- ล้วงตับข้อมูลผู้ใช้งานนั้น
- เด้งหน้าจอให้ผู้ใช้คลิกลิงก์ไปยังเว็บอันตราย
- เด้งหน้าจอให้กดลงโปรแกรม malware
- และอื่นๆ สุดแต่ครีเอททีฟฝ่าย hacker เข้าละ
.
หมายเหตุ
🤓 เทคนิคการโจมตี XSS มีหลายแบบ
แต่นี้เป็นตัวอย่าง ชนิด Stored XSS
เป็นช่องโหว่ที่โค้ดฝั่ง Web Application
ปล่อยให้เก็บ Java Script ได้
.
พอผู้ใช้ส่ง request url มา
เว็บแอพลิเคชั่นก็เอาข้อมูล javaScript ที่อยู่ในฐานข้อมูล (hacker แอบส่งมา)
นำมาแนบไปพร้อม HTML
ส่งไปยังหน้าบราวเซอร์ของผู้ใช้
จากนั้น JavaScript ก็จะทำงานทันที
.
ซึ่งช่องโหว่นี้
#โปรแกรมเมอร์ ต้องรับผิดชอบนะจะบอกให้
แต่แก้ง่ายมากเลยสมัยนี่ เพราะ
.
1) เพราะ library/framework สายเว็บแอพลิเคชั่น
เดี๋ยวนี้มันช่วยเราได้เยอะตรงจุดๆ นี้
.
มันจะช่วยเข้ารหัสข้อมูลที่เป็น java script ไม่ให้ทำงานได้ ทำให้มันเป็นแค่ข้อความหนึ่งเท่านั้นเอง
คือเข้ารหัสพวกเครื่องหมาย <, >, /> และอื่นๆ
.
2) หรือจะใช้วิธี validation ตอนผู้ใช้กรอกข้อความ
ต้องห้ามกรอก java script ก็เป็นการป้องกันอีกวิธีหนึ่ง
.
.
เป็นช่องโหว่เจอบ่อย แต่ก็ป้องกันได้
แต่ถ้าเราไม่ใช่ library/framework มาตรฐาน
ที่เขาผ่านร้อนผ่านหน้า แก้ช่องโหว่มาให้เราแล้ว
ก็ต้องลำบากหาทางป้องกันเอา อย่าลืม
.
.
✍ เขียนโดย โปรแกรมเมอร์ไทย thai programmer